\relax 
\citation{openmp}
\citation{sequoia,sequoia-compiler}
\citation{tempmetaprog}
\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}}
\citation{c++03,c++0x}
\citation{mpl}
\citation{tempturing}
\citation{moderncpp}
\citation{tcpl}
\citation{mpl,tempmetaprog}
\@writefile{toc}{\contentsline {section}{\numberline {II}Template Metaprogramming Approach}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-A}}Background}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-B}}Overview}{2}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces template transformation}}{2}}
\newlabel{fig:overview}{{1}{2}}
\citation{mpl}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces transform class}}{3}}
\newlabel{fig:tfcls}{{2}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-C}}Components}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {II-C}1}TF class}{3}}
\newlabel{section:interface}{{\unhbox \voidb@x \hbox {II-C}2}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {II-C}2}Function wrapper}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {II-C}3}Predicate}{3}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Function Wrapper}}{3}}
\newlabel{lst:wrapper}{{3}{3}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Predicate}}{3}}
\newlabel{lst:pred}{{4}{3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {II-C}4}Sentinel}{3}}
\citation{opencl}
\citation{cellnetwork}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces View classes in libvina}}{4}}
\newlabel{fig:view}{{5}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {II-D}}Supporting data structures}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {III}Runtime supports}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {IV}Source Transformations by Template}{4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-A}}SPMD}{4}}
\citation{sequoia,merge}
\citation{imagine}
\citation{cellbe,larrabee}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {IV-B}}Streaming and pipelining}{5}}
\@writefile{toc}{\contentsline {section}{\numberline {V}Adaption of TF classes}{5}}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces TF class of \textsl  {TF\_mappar}}}{5}}
\newlabel{lst:mappar}{{6}{5}}
\citation{vartemp}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces MM internal call graph}}{6}}
\newlabel{fig:mm}{{7}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces TF class of pipeline}}{6}}
\newlabel{lst:pipe}{{8}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces ViewMT in pipelining}}{6}}
\newlabel{fig:viewmt}{{9}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces an adapter class for saxpy}}{6}}
\newlabel{lst:adaptersaxpy}{{10}{6}}
\citation{c++03,c++0x}
\citation{c++0x}
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Call function with and without transformation}}{7}}
\newlabel{lst:callsaxpy}{{11}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {VI}Experiments and evalution}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-A}}Methodology}{7}}
\newlabel{sectn:method}{{\unhbox \voidb@x \hbox {VI-A}}{7}}
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Call function before and after transformation}}{7}}
\newlabel{lst:callpipe}{{12}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}}Evaluation}{7}}
\citation{Fatahalian08}
\@writefile{lot}{\contentsline {table}{\numberline {I}{\ignorespaces Experimental platforms}}{8}}
\newlabel{tbl:mach}{{I}{8}}
\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Speedup on Harpertown}}{8}}
\newlabel{fig:spdx86}{{13}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}1}Speedup of SPMD transformation on CPU}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}2}Speedup of SPMD transformation on GPU}{8}}
\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Speedup Comparing GPU with CPU}}{8}}
\newlabel{fig:spdgpu}{{14}{8}}
\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces Comparison of sgemm on CPU and GPU}}{8}}
\newlabel{tbl:sgemm}{{II}{8}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}3}Comparison between different multicores}{8}}
\citation{Boehm05}
\citation{tbb}
\citation{sequoia,sequoia-compiler}
\citation{merge}
\citation{sequoia}
\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Pipeline Processing for Psuedo Language Translation}}{9}}
\newlabel{fig:pipe}{{15}{9}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\unhbox \voidb@x \hbox {VI-B}4}Support streaming computation}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {VII}Related work}{9}}
\bibstyle{ieeetran}
\bibdata{libvina}
\bibcite{openmp}{1}
\bibcite{sequoia}{2}
\bibcite{sequoia-compiler}{3}
\bibcite{tempmetaprog}{4}
\bibcite{c++03}{5}
\bibcite{c++0x}{6}
\bibcite{tempturing}{7}
\bibcite{moderncpp}{8}
\bibcite{tcpl}{9}
\bibcite{mpl}{10}
\@writefile{toc}{\contentsline {section}{\numberline {VIII}Discussion and Future work}{10}}
\@writefile{toc}{\contentsline {section}{References}{10}}
\bibcite{opencl}{11}
\bibcite{cellnetwork}{12}
\bibcite{merge}{13}
\bibcite{imagine}{14}
\bibcite{cellbe}{15}
\bibcite{larrabee}{16}
\bibcite{vartemp}{17}
\bibcite{Fatahalian08}{18}
\bibcite{Boehm05}{19}
\bibcite{tbb}{20}
